package com.redepronik.negosys.rrhh.service;

import java.io.Serializable;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.redepronik.negosys.rrhh.dao.PrecioDao;
import com.redepronik.negosys.rrhh.entity.Precio;

@Service
public class PrecioServiceImpl implements PrecioService, Serializable {

	private static final long serialVersionUID = 1L;

	@Autowired
	private PrecioDao precioDao;

	public String actualizar(Precio precio) {
		if (!precioDao.comprobarIndices(Precio.class, "nombre",
				precio.getNombre(), String.valueOf(precio.getPrecioid()))) {
			precioDao.actualizar(precio);
			return "SAVE";
		} else
			return "EXISTE";
	}

	public void eliminar(int precioId) {
		precioDao.eliminarPorId(Precio.class, precioId);
	}

	public void eliminar(Precio precio) {
		if (precio.getActivo())
			precio.setActivo(false);
		else
			precio.setActivo(true);
		precioDao.actualizar(precio);
	}

	public String insertar(Precio precio) {
		if (!precioDao.comprobarIndices(Precio.class, "nombre",
				precio.getNombre(), String.valueOf(precio.getPrecioid()))) {
			precio.setActivo(true);
			precioDao.insertar(precio);
			return "SAVE";
		} else
			return "EXISTE";
	}

	public List<Precio> obtener(Boolean activo) {
		return precioDao.obtener(Precio.class, "nombre", activo);
	}

	public Precio obtenerPorPrecioId(Integer precioid) {
		return precioDao.obtenerPorId(Precio.class, precioid);
	}
}